

package cn.base.web.lock.executor;


/**
 * 分布式锁核心处理器
 *
 */
public interface LockExecutor{



    /**
     * 加锁
     *
     * @param lockKey        锁标识
     * @return 锁信息
     */
    void lock(String lockKey);

    /**
     * 解锁
     *
     * @param lockKey          加锁key
     * @return 是否释放成功
     */
    boolean unlock(String lockKey);

    /**
     * 续期，目前只有redisson支持，且expire参数为-1才会续期
     *
     * @return 是否续期
     */
    default boolean renewal() {
        return false;
    }
}
